Two small fixes
authorMatthias Clasen <mclasen@redhat.com>
Mon, 12 Dec 2011 02:16:24 +0000 (21:16 -0500)
committerRyan Lortie <desrt@desrt.ca>
Mon, 19 Dec 2011 17:51:12 +0000 (12:51 -0500)
Don't leak a session bus reference, and don't assume a display
is X11 just because we've built the X11 backend.

gtk/gtkapplication.c

index 8c0debaecbe752c62124efcd6897503b2302c98b..ed14aa5840955868f48b6372fb28c9958e65b527 100644 (file)
@@ -220,7 +220,11 @@ gtk_application_shutdown_x11 (GtkApplication *application)
 {
   g_free (application->priv->window_prefix);
   application->priv->window_prefix = NULL;
-  application->priv->session = NULL;
+  if (application->priv->session)
+    {
+      g_object_unref (application->priv->session);
+      application->priv->session = NULL;
+    }
 }
 #endif
 
@@ -360,7 +364,8 @@ gtk_application_before_emit (GApplication *application,
 
           display = gdk_display_get_default ();
           id = g_variant_get_string (value, NULL);
-          gdk_x11_display_set_startup_notification_id (display, id);
+          if (GDK_IS_X11_DISPLAY (display))
+            gdk_x11_display_set_startup_notification_id (display, id);
        }
 #endif
     }